<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>正则表达式</title>
</head>
<body>


<form action="">

    <input type="text" id="mobile" name="username">
    <span id="info"></span>

</form>


<script>

    var mobile = document.getElementById('mobile')


    mobile.onkeyup = function () {

        // 正则表达式

        // 定界符
        // 原子
        // 元字符（修饰原子）



        var reg = /^1[^358]\d{9}$/;

        var s = document.getElementById('info');
        if(reg.test(this.value)){
            s.style.color = 'green';
            s.innerText = '正确';
        }else {
            s.style.color = 'red';
            s.innerText = '错误';
        }
    };


    /**
     * 正则表达式是按位匹配验证的，一个原子对应一位
     *
     * 原子表：使用中括号括着的多个字符，表示，这一位上可以出现原子表中的任何一个字符均合法
     * 修饰原子的元字符：规定该原子或者原子表可以出现的位数
     * @type {RegExp}
     *
     *
     * 原子:0-9、5-9、a-z、x-z、A-Z、_、/(如果遇到需要匹配特殊字符的时候，可以使用反斜杠转义一下)
     * \d、\D、\w([_0-9A-Za-z])、\W、\s、\S, .
     *
     * 元字符：{m}, {m,}, {m,n}, +({1,}), *({0,}) , ?({0,1})
     *
     * 正则表达式默认情况下是贪婪匹配
     */

    var a = /1\/[234]{2,5}6/;
    var s = '1/2224632222222';
    console.log(a.test(s));
    console.log(a.exec(s));


    /**
     *
     * 匹配邮箱
     *
     * 匹配QQ号
     *
     * 匹配url
     *
     */


</script>


</body>
</html>